̲ÍÎѲÒÈ ÓÊÐÀ¯ÍÈ
ÄÅÐÆÀÂÍÈÉ ÓͲÂÅÐÑÈÒÅÒ "ËܲÂÑÜÊÀ ÏÎ˲ÒÅÕͲÊÀ"
Êîìï'þòåðíèé ôàêóëüòåò
ÊÀÔÅÄÐÀ ÅËÅÊÒÐÎÍÍÈÕ ÎÁ×ÈÑËÞÂÀËÜÍÈÕ ÌÀØÈÍ
Дîöåíò к.т.н. Òðîöåíêî Â.Â.
ÊÓÐÑÎÂÀ ÐÎÁÎÒÀ ÍÀ ÒÅÌÓ
ÏÐÎÅÊÒÓÂÀÍÍß ÏÐÎÒÎÒÈÏÓ ÑÊÀËßÐÍÎÃÎ
RISC-ÊÎÌÏ'ÞÒÅÐÀ
Курс – “Архітектура обчислювальних машин і систем”
Ìåòîäè÷í³ âêàç³âêè ³ çàâäàííÿ íà ïðîåêòóâàííÿ
Âåðñ³ÿ 2.2 від 25 âåðåñíÿ 1998 ðîêó
Ëüâ³â - 1998
Ç̲ÑÒ
ÂСТУП
ІНФОРМАЦІЙНИЙ ТРАКТ
КЕШ
ПАМ’ЯТЬ
КЕРУВАННЯ
ГЕНЕРАЛЬНА СТРУКТУРА
ÂИХІДНІ ДАНІ НА ПРОЕКТУВАННЯ
ÂИМОГИ ЩОДО ОФОРМЛЕННЯ МАТЕРІАЛІВ ПРОЕКТУ
ËІТЕРАТУРА
1. ÂÑÒÓÏ
Ìåòà êóðñîâîãî ïðîåêòóâàííÿ ïîëÿãຠâ îïàíóâàíí³ ñòóäåíòîì çíàíü ïðî ïðèíöèïè 䳿 òà àðõ³òåêòóðó ïðîòîòèïíèõ âàð³àíò³â сучасних RISC-êîìï'þòåð³â (Reduced Instruction Set Computing), ñèñòåì, ðîçòàøîâàíèõ íà ìåæ³ ñòàðèõ CISC (Complex Instruction Set Computing) òà íîâèõ архітектур.
Сутність RISC підходу полягає у перерозподілі складності в парі апаратура – системні програми в спосіб спрощення системи інструкцій процесора, збільшення тактової частоти, уведення конвейєрного принципу виконання інструкцій послідовного програмного потоку з одночасним підвищення складності компілятора,. За рахунок перерозподілу та перекладання додаткової частки часових витрат на етап підготування програми (compile time) скорочують часові витрати на виконання машинного коду (run-time). Öüîãî äîñÿãàþòü íàâ³òü çà óìîâè збільшення кількості спрощених машинних інструкцій в програмі. Проте RISC напрямок вдосконалення комп’ютерних засобів не є безперечним. Зараз він спровокував досить суперечливий напрямок безмежного нарощування складності і апаратури, і системних програм новітніх конвейєрних суперскалярних RISC машин.
Наприклад, îñòàííÿ ðîçðîáêà процесора Merced ô³ðìè INTEL (²ÍÒòåãðîâàíà ÅËåêòðîí³êà) ñâ³ä÷èòü ïðî â³äìîâó ö³º¿ ô³ðìè òà ¿¿ êîìïàíüîíà ô³ðìè Hewlett-Packard (ïðîìîâëÿòи як Õ'þëåòò-Ïàêêàðä) â³ä RISC-ï³äõîäó íà êîðèñòü "íå-ð³ñêîâî¿" òðèãåð-òðанñïîðòíî¿ àðõ³òåêòóðè ç ïðÿìèì ïàðàëåëüíèì, à íå лише êîíâåéºðíèì îïðàöþâàííÿì ³íñòðóêö³é. Але òðèãåð-òðàíñïîðòíà àðõ³òåêòóðà ïîêè ùî ëèøàºòüñÿ ïîçà ìåæàìè êóðñîâîãî ïðîåêòóâàííÿ.
Розглянемо ілюстративний приклад програмування RISC машини, а саме, запрограмуємо С-оператор А = B + С. Фрагмент асемблерної програми має вид:
LW R1, B
LW R2, C
ADD R3, R1, R2
SW A, R3
У фрагменті через A, B, C ïîçíà÷åíî àäðåñè êîì³ðîê ïàì/яті даних, де зберігають відповідно збіжні за назвою операнди і результат. LW є інструкцією завантаження операнду з комірки пам’яті до регістра, інструкція SW виконує зворотню дію, ADD є інструкцією додавання. Бачимо, що дії з завантаження операндів до регістрів з комірок пам’яті та збереження результату у комірці пам’яті відокремлено від виконання власне операції додавання. Функції інструкцій різних типів зараз мають наближено однакову складність, що є необхідною передумовою виконання послідовного потоку таких інструкцій на конвеєрі з метою суттєвого прискорення опрацювання програмного коду. Як правило, у RISC-машинах довжини форматів усіх інструкцій є сталими, а кількість адресувальних режимів – мінімальна. Інтуітивно зрозуміло, що обмеження складності є запорукою прискореного опрацювання спрощених інструкцій в процесорі.
В основу курсового проектування покладено результати роботи [1].
2. ІНФОРМАЦІЙНИЙ ТРАКТ
2.1. Сòðóêòóðа ïðîòîòèïó ñêàëÿðíîãî RISC-êîìï'þòåðà
Ïåðøèé êðîê ðîçðîáêè ïðîòîòèïíîãî (íåêîíâåéºðíîãî) âàð³àíòó ñêàëÿðíîãî RISC-êîìï'þòåðà - öå ñèíòåç ñòðóêòóðíî¿ ñõåìи ìàøèíè.Ñèíòåç ãðóíòóºòüñÿ íà ÷àñîâ³é ä³àãðàì³ âèêîíàííÿ ðåïðåçåíòàòèâíî¿ ³íñòðóêö³¿ ïðîöåñîðà, òîáòî òàêî¿ ³íñòðóêö³¿, ùî ìຠíàéá³ëüøó ÷àñîâó ñêëàäí³ñòü âèêîíàííÿ.  íàøîìó âèïàäêó òàêîþ ³íñòðóêö³ºþ º інструкція çàâàíòàæåííÿ словного îïåðàíäó ç ïàì'ÿò³ даних äî áóäü-ÿêîãî ðåã³ñòðó з ðåã³ñòðîâîãî ôàéëà ÷è ð³çíîâèä ö³º¿ ³íñòðóêö³¿, наприклад,
LW R7, 14(R5).
×àñîâèé îïèñ âèêîíàííÿ відповідних çàçíà÷åíій ³íñòðóêö³¿ çàâàíòàæåííÿ 32-õ á³òîâîãî ñëîâà ç êîì³ðêè ïàì'ÿò³ çà àäðåñîþ
ADDRESS=(R5)+14
äî ðåã³ñòðу R7 íàäàють íàñòóïíîþ âïîðÿäêîâàíîþ ïîñë³äîâí³ñòþ âèêîíàííÿ...